﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using QldtSdh.DAL.Models;

namespace QldtSdh.BLL
{
    class BizLopHocPhan_HocVien
    {

        internal static List<HocVien> GetList(string maLopHocPhan)
        {
            using (var db = CEMS4UG_DHKHContext.GetContext())
            {
                var lsMHV = db.LopHocPhan_HocVienDbSet.Where(e => e.MaLopHocPhanGUID == maLopHocPhan)
                    .ToList();
                if (lsMHV != null && lsMHV.Count > 0)
                {
                    List<HocVien> lsRS = new List<HocVien>();
                    foreach (var item in lsMHV)
                    {
                        var hocVien = db.HocVienDbSet.Where(e => e.MaHocVien == item.MaHocVien).FirstOrDefault();
                        if (hocVien != null)
                        {
                            hocVien._DiemQTHT = item.DiemQTHT.HasValue ? item.DiemQTHT.Value : 0;
                            lsRS.Add(hocVien);
                        }
                    }
                    return lsRS;
                }
                return null;
            }
        }

        internal static CODE_RESULT_RETURN UpdateDiemQTHT(string maHocVien, string maLopHocPhan, decimal diemQTHT)
        {
            using (var db = CEMS4UG_DHKHContext.GetContext())
            {
                var hocVien_LHP = db.LopHocPhan_HocVienDbSet.Where(e => e.MaLopHocPhanGUID == maLopHocPhan && e.MaHocVien == maHocVien).FirstOrDefault();
                if (hocVien_LHP != null)
                {
                    NhatKyHoatDong nhatKy = new NhatKyHoatDong();
                    BizNhatKyHoatDong.InitData<LopHocPhan_HocVien>(nhatKy, hocVien_LHP, maLopHocPhan + "-" + maHocVien, LOAIDOITUONG.CHI_TIẾT_LỚP_HỌC_PHẦN, LOAITHAOTAC.Chỉnh_sửa);
                    hocVien_LHP.DiemQTHT = diemQTHT;
                    db.SaveChanges();

                    BizNhatKyHoatDong.Add(nhatKy, hocVien_LHP);
                    return CODE_RESULT_RETURN.ThanhCong;
                }
                else
                    return CODE_RESULT_RETURN.ThatBai;
            }
        }
    }
}
